package com.molichuxing.services.infrastructure.bean;

import com.molichuxing.framework.bean.RootBean;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 专属里程商品表
 * </p>
 *
 * @author xuelin yi
 * @since 2019-08-12
 */
public class GoodsExclusiveBean extends RootBean {

    private static final long serialVersionUID=1L;

    /**
     * 回购金额
     */
    private BigDecimal buybackAmount;

    /**
     * 保底回购价
     */
    private BigDecimal minimunGuaranteeAmount;

    /**
     * 残值购买费
     */
    private BigDecimal residuaPurchaseAmount;


    /**
     * 里程限制
     */
    private Integer limitMileage;

    /**
     * 专属商品类型：1：专属里程，2：订悦里程
     */
    private Integer type;

    /**
     * 过户费
     */
    private BigDecimal transferFee;

    /**
     * 服务费
     */
    private BigDecimal serviceFee;

    /**
     * 付款方式(1:全款，2：分期)
     */
    private Integer paymentType;

    /**
     * 首付期数（1：1期，2：2期）
     */
    private Integer firstTerms;

    /**
     * 过户时限（0，12，24，36）
     */
    private Integer transferTime;

    /**
     * 结算日（0：首付款日，1-28对应每月的几号）
     */
    private Integer settleDay;

    public BigDecimal getBuybackAmount() {
        return buybackAmount;
    }

    public void setBuybackAmount(BigDecimal buybackAmount) {
        this.buybackAmount = buybackAmount;
    }

    public BigDecimal getMinimunGuaranteeAmount() {
        return minimunGuaranteeAmount;
    }

    public void setMinimunGuaranteeAmount(BigDecimal minimunGuaranteeAmount) {
        this.minimunGuaranteeAmount = minimunGuaranteeAmount;
    }

    public BigDecimal getResiduaPurchaseAmount() {
        return residuaPurchaseAmount;
    }

    public void setResiduaPurchaseAmount(BigDecimal residuaPurchaseAmount) {
        this.residuaPurchaseAmount = residuaPurchaseAmount;
    }

    public BigDecimal getTransferFee() {
        return transferFee;
    }

    public void setTransferFee(BigDecimal transferFee) {
        this.transferFee = transferFee;
    }

    public Integer getPaymentType() {
        return paymentType;
    }

    public void setPaymentType(Integer paymentType) {
        this.paymentType = paymentType;
    }

    public Integer getFirstTerms() {
        return firstTerms;
    }

    public void setFirstTerms(Integer firstTerms) {
        this.firstTerms = firstTerms;
    }

    public Integer getTransferTime() {
        return transferTime;
    }

    public void setTransferTime(Integer transferTime) {
        this.transferTime = transferTime;
    }

    public Integer getSettleDay() {
        return settleDay;
    }

    public void setSettleDay(Integer settleDay) {
        this.settleDay = settleDay;
    }

    public BigDecimal getServiceFee() {
        return serviceFee;
    }

    public void setServiceFee(BigDecimal serviceFee) {
        this.serviceFee = serviceFee;
    }

    public Integer getLimitMileage() {
        return limitMileage;
    }

    public void setLimitMileage(Integer limitMileage) {
        this.limitMileage = limitMileage;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }
}
